package com.lht.admin.service;

import com.lht.admin.entity.SysUserEntity;
import com.lht.admin.vo.OptionsVO;
import com.lht.admin.vo.UploadFileResultVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 *
 * @author cs12110 create at 2020-01-01 19:18
 * <p>
 * @since 1.0.0
 */
public interface CommonService {

    /**
     * 获取options的值
     *
     * @param operator 操作员
     * @return OptionsVO
     */
    OptionsVO getOptionValues(SysUserEntity operator);

    /**
     * 获取省份
     *
     * @return List
     */
    List<OptionsVO.OptionVO> getProvince();

    /**
     * 获取省份对应的城市
     *
     * @param provinceCode 省份编码
     * @return list
     */
    List<OptionsVO.OptionVO> getCity(String provinceCode);

    /**
     * 获取市对应地区
     *
     * @param cityCode 城市编码
     * @return List
     */
    List<OptionsVO.OptionVO> getArea(String cityCode);


    /**
     * 下载文件
     *
     * @param response {@link HttpServletResponse}
     * @param fileName 文件名称
     */
    void download(HttpServletResponse response, String fileName);


    /**
     * 上传文件
     *
     * @param file 文件对象
     * @return {@link UploadFileResultVO}
     */
    UploadFileResultVO uploadFile(MultipartFile file);
}
